package com.hengpeng.itfinoss.util;

import java.util.Collection;
import java.util.HashSet;

import com.hengpeng.common.persist.entity.AbstractEntity;

public class CollectionHelp
{
	/**
	 * <pre>
	 * 找出frist集合中，没有second的部分，也就是去掉first集合中的second集合,注意，集合中不能有重复的元素
	 * </pre>
	 * @param <T> 实体类
	 * @param first 大集合
	 * @param second 小集合
	 * @return 差异集合
	 */
	public static <T extends AbstractEntity> Collection<T> findCollectionDiff(Collection<T> first, Collection<T> second)
	{
		if (first == null || first.size() <= 0)
			return null;
		if (second == null || second.size() <= 0)
			return first;
		Collection<T> list = new HashSet<T>();
		for (T t : first)
		{
			boolean tr = false;
			for (T k : second)
			{
				if (t.getId().equals(k.getId()))
				{
					tr = true;
					break;
				}
			}
			/* 如果tr=false，即没有找到相同的元素 */
			if (!tr)
			{
				list.add(t);
			}
		}
		return list;
	}
}
